| Conditions | 2 | 
| Total Lines | 18 | 
| Code Lines | 15 | 
| Lines | 0 | 
| Ratio | 0 % | 
| Changes | 0 | ||
| 1 | import { useEffect } from "react"; | ||
| 10 | |||
| 11 | // eslint-disable-next-line import/prefer-default-export | ||
| 12 | export function useLoadClassifications( | ||
| 13 | dispatch: DispatchType, | ||
| 14 | ): { | ||
| 15 | classifications: Classification[]; | ||
| 16 | isLoadingClassifications: boolean; | ||
| 17 | } { | ||
| 18 | const classifications = useSelector(getClassifications); | ||
| 19 | const isLoading = useSelector(classificationsIsLoading); | ||
| 20 | |||
| 21 |   useEffect((): void => { | ||
| 22 |     if (classifications.length === 0 && !isLoading) { | ||
| 23 | dispatch(loadClassificationsIntoState()); | ||
| 24 | } | ||
| 25 | }, [classifications.length, isLoading, dispatch]); | ||
| 26 | |||
| 27 |   return { classifications, isLoadingClassifications: isLoading }; | ||
| 28 | } | ||
| 29 |